#ifndef PERCEPTION_READ_CONFIG_H_
#define PERCEPTION_READ_CONFIG_H_
#include <iostream>
#include <fstream>
#include <iosfwd>
#include <future>
#include <common/algorithm_type/lidar_preprocess_type.h>
#include <common/algorithm_type/lidar_cell_type.h>
#include <common/algorithm_type/lidar_obj_type.h>
#include <common/algorithm_type/lidar_cell_objs_type.h>
#include "common/json.hpp"

namespace perception
{
    // namespace
    class ReadConfig
    {
    public:
        ReadConfig(std::string &cell_config_path, std::string &pre_config_path, std::string &obj_config_path);
        ~ReadConfig();
        bool ReadPreconfig();
        bool ReadCellconfig();
        bool ReadObjconfig();
        algorithm::cell_config cell_config_;
        lidar_preprocess::config pre_config_;
        perception::lidar_objs::objs_config obj_config_;

    private:
        std::string cell_config_path_ = "";
        std::string pre_config_path_ = "";
        std::string obj_config_path_ = "";
    };
    //
} // perception

#endif